<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width= , initial-scale=1.0">
    <title>图书购物车</title>
</head>
<style>
    .active {
        color: red;
    }
</style>
<body>
    <div id="app">
       <p>过滤器的使用</p>
       <p>{{price | showPrice}}</p>
       <p>高级函数的调用</p>
       <p>编程范式：命令式编程/声明式编程</p>
       <p>编程范式：面向对象编程（第一公民：对象）/函数式编程（第一公民：函数）</p>
    </div>
    <script src="../js/vue.js"></script>
    <script>
        // 小问题： 切换时input框里的数据不会消失  vue底层元素复用，为了性能
         const app = new Vue({
            el: '#app',    
            data: {    
               price: 200
            },
            methods: {
                
            },
            filters: {
                showPrice(price) {
                    return '￥'+ price.toFixed(2)
                }
            }
        })

        const nums = [10,20,111,25,300];
        // 取出小于100的
        let newNums = nums.filter(function(n){return n < 100})
        console.log(newNums);
        // *2
        new2Nums = newNums.map(function (n){return n * 2})
        console.log(new2Nums);
        
        // 求和  // reduce 汇总函数
        let sum = new2Nums.reduce(function (preValue,n){
            return preValue + n
        },0)
        console.log(sum);

        //   高阶函数来了
        let total = nums.filter(function (n) {
            return n < 100
        }).map(function (n) {
            return n * 2
        }).reduce(function (preValue,n){
            return preValue + n
        },0)
        console.log(total)

        //  笑笑不说话
        let total2 = nums.filter(n => n < 100).map(n => n * 2).reduce((preValue,n) => preValue + n)
        console.log(total2)


    </script>
</body>
</html>